package cn.agiledata.bank.scores.service;

import java.util.List;

import cn.agiledata.bank.common.util.PageBean;
import cn.agiledata.bank.hibernateBean.Account;
import cn.agiledata.bank.hibernateBean.ScoresHis;
import cn.agiledata.bank.hibernateBean.ScoresRules;
import cn.agiledata.bank.hibernateBean.Transaction;
import cn.agiledata.bank.scores.form.HisScoresQueryBean;

public interface IScoresService {
	//	获得积分规则
	public ScoresRules getScoresRule(String scoresSource, String accountId);
	
//	记录积分历史
	public ScoresHis saveScoresHistory(String accountId,
			ScoresRules sr, Transaction tran, Long deposits);
//	计算存款积分
	public void setDepositsScores(Account acc, Long deposits);
//	存款积分test方法
//	public void setDeposits();
//	返回用户账户的激活状态
	public String activationStatus(String accountId);
	
	public Account getAccountById(String id);
//	积分历史分页查询
	public PageBean getHisScoresQueryPagingList(HisScoresQueryBean bean);
//  获得积分来源
	public List getScoresSource();
//  返回已通过认证项
	public String getAuthenticateStatus(Account account);
//	设置介绍人积分
	public void setIntroduceScores(Account acc);
//	判断身份证认证状态
	public String idCardStatus(Account account);
//	积分计算
	public String calcScores (Account account, Double scores, String source);
	
	//激活积分������
	public void setActivationStatus(Long accountId,String url);
	public void setActivationStatus(Long accountId);
	
	/**
	 * 取得积分历史
	 * zln 修正 2008-1-22 增加交易ID参数
	 * 
	 * @param id
	 * @param scoresSource
	 * @param transId
	 * @return
	 */
	public ScoresHis getScoresHis(Long id,String scoresSource, Long transId);
	//获取当前使用的所有积分规则
	public List getCurScoresRule(Long id);
	
}
